The present invention relates to an arrangement for transferring data through a computer network, including at least one transmitting client and receiving client, said data being arranged in an E-mail, especially a HTML E-mail.
The invention also refers to a method for arranging a HTML E-mail.
When transferring information from a sender to a receiver through the Internet and similar communication networks different techniques, formats and protocols are used. A specifically standardised method for such an information transfer is to use E-mail. A message containing only textual information is produced in a computer program, to which different types of attachments or enclosures that can be transferred separately are added or included in an aggregate mail. The message is transferred through the communication network, and it is then available on the receiving side by executing a computer program corresponding to the program used at the transmitting side, that is a program interpreting the message as intended by the sender. If the message contains only textual information, it is directly readable by means of the computer program at the receiving side. The receiver program may be referred to as a user agent.
One type of attachment is a document that has been formatted in a word processing program and another type is images or drawings that have been formatted correspondingly in a design program or similar software. Presently available software at the receiving side will separate optional attachments and some information about them, such as the file name of the attachment, will be available. On the condition that a computer program corresponding to the program that produced the document, which is capable of interpreting the document as intended by the sender, is available also at the receiving side it is possible to start such a program and open the document, thereby making the content of the attachment document readable. Only on the condition that the program at the receiving side completely corresponds to the program used at the sending side for generating the document, normally with respect to the version of the program as well as to the platform on which the program is run, all information will be available to the receiver in the correct format. In this context platform is used for the type of computer or processor as well as the operating system used.
It is also known to include an executable program in an attachment, such as an executable WINDOWS(trademark) program. In such a case the attached program is started separately. Also in this case it is imperative that the same platform is used, or that the sender has a sufficient knowledge about the platform used by the receiver, so as to allow the attached program to start in a correct way.
A standard used for transferring information that is more complex than plain text is MIME (Multipurpose Internet Mail Extension). Within the scope of MIME the encoding, transfer and decoding of different types of documents within an Internet Mail are defined. A MIMEencoded message contains a Content-Type Header Field which declares the type of data and which is added by a User Agent of the Sender. This end of header fields is used by a User Agent of the Recipient to identify the document type.
One type of document that can be transferred through is a hypertext document that is displayed, for example by web browsers or other E-mail client programs. Such documents are formatted in HTML (HyperText Markup Language).
The elements, such as the structure, standards and protocols, of an Internet Mail are defined in a plurality of documents called RFC:s (Request For Comments). According to existing RFC:s different types of attachments are allowed. A user agent, which is a mail program, of the recipient optionally may have a capability of extracting attachments of a mail object. Different RFC:s are applicable with regard to the invention.
One drawback inherent in the embodiments mentioned above is that one common platform or at least platforms that are carefully adapted to each other have to be used, so as to obtain the desired function. There also are strong limitations with regard to the level of automating when the information is received. Software required to interpret and display the information as intended by the sender has to be present or downloaded and started separately. New mail functionality implies repeated modifications of existing standards. Without such modifications the flexibility will be poor. The sender normally cannot control how the information sent will be interpreted or displayed by the receiver.
Still, there is a desire to deliver Java-based e-mails (mail objects) to a receiver, without demanding any special software (except for a Java capable e-mail client) on the receiving side, to process the attached information.
This can be achieved by sending a HTML formatted e-mail which contains a so-called applet-tag. Through this tag a Java applet is embedded into the HTML page. The Java capable e-mail client at the receiver""s side will automatically start the applet when the e-mail is viewed.
However, some problems appear when a HTML page containing an applet is sent via e-mail as the Java code itself (the Java class files) must also be delivered to the E-mail receiver. Also the additional user data which is used by the applet (e.g. image-data, sound-data, color-information, information about animation etc.) must be transported somehow.
A simple solution would be to pac all the applet files and all user data into a so-called e-mail attachment which will be attached to the HTML e-mail and send the package. However, this solution does not work on all e-mail systems, since many Java capable E-mail clients do not allow the starting of an applet from inside a HTML e-mail, if the class files for that applet are embedded in an attachment of that same e-mail.
The main object of the present invention is to overcome problems set out above, by providing a method and arrangement to deliver E-mails in a secure and simple way, yet allowing complex data to be attached to the E-mail without a need for advanced programs to process and/or present the e-mail attachment.
Another object of the invention is to provide a method and arrangement for data transfer with a higher level of applicability.
For these reasons the arrangement according to the inventions is characterised in that said arrangement further comprises a server unit including means to store managing programmes, and said E-mail further includes at least one attachment information, including a pointer to said server and said managing programmes for executing and processing said attachment information.
Preferably, said attachment information includes a JAVA applet parameter list, said managing programmes include JAVA applet class files and said means to store managing programmes also includes user-data.
The network arrangement according to the invention may be Internet or intranet, and attachment information includes a Uniform Resource Locator (URL), from which an applet can be started. The URL provides a standard, hierarchical way of identifying and locating Internet resources on a World Wide Web. In an embodiment said URL may be generated dynamically using data from the user, type of E-mail, attached information etc.
Preferably said class files are generic and usable by E-mails of different kind. The class files may also be small files allowing fast download. Advantageously, the class files are compressed and saved as Java Archive (JAR) files. Said JAR files are an archive option in the applet code of a HTML-page.
It is also desirable to cache said class files in an e-mail program and/or one load them in a client specific location. The user-data in an applet parameter can be encrypted. The user-data of the class files can be coded into the user-data, eliminating the frequent need of residing all class files on the server.
According to a method of the invention an E-mail is arranged, specially a HTML E-mail, comprising at least one attachment information, including user-data, having a pointer to a server including means to store managing programmes in form of JAVA applet class files, for executing said attachment information. The method comprises the steps of: storing said class files in a database of said server, combining user-data into a data array, packing said data array, coding said data array, converting said data array into a client program compatible string, and using said client program compatible string as an input parameter to a Java applet.